package main

import "fmt"

/*
Go语言中的通道（channel）是一种特殊的类型。在任何时候，
同时只能有一个 goroutine 访问通道进行发送和获取数据。goroutine 间通过通道就可以通信。
通道像一个传送带或者队列，总是遵循先入先出（First In First Out）的规则，保证收发数据的顺序。
*/
func main() {

	//建立一个通道
	chane := make(chan string)

	//把消息传给通道
	go func() {
		chane <- "message1"
		chane <- "message2"
	}()

	//从通道中拿到消息
	str1 := <-chane
	str2 := <-chane

	fmt.Print(str1)
	fmt.Print(str2)
}
